//
//  CXHAdapterNativeExpressCallBack.h
//  CXHAdSDK
//
//  Created by 陈坤 on 2022/4/9.
//

#import <Foundation/Foundation.h>
#import "CXHAdapterCommonCallBack.h"

@class CXHAdapterNativeExpressAdapter;

@protocol CXHAdapterNativeExpressAdViewDelegate <NSObject>

- (void)render;

- (void)close;

- (void)cxh_setRootViewController:(UIViewController *)controller;

@end

@protocol CXHAdapterNativeExpressCallBack <CXHAdapterCommonCallBack>

- (void)nativeExpressAdSuccessToLoadCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                         nativeExpressAdView:(NSArray<__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *> *)nativeExpressAdViewArray;

- (void)nativeExpressAdFailToLoadCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                             error:(NSError *)error;

- (void)nativeExpressAdRenderSuccessCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                         nativeExpressAdView:(__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdRenderFailCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                      nativeExpressAdView:(__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdExposureCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                    nativeExpressAdView:(__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdExposureReportCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                    nativeExpressAdView:(__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdClickedCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                   nativeExpressAdView:(__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView  loadingPageURL:(NSString *)loadingPageURL;

- (void)nativeExpressAdClickedReportCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                   nativeExpressAdView:(__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdCloseCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                 nativeExpressAdView:(__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdCloseLandingPageCallBack:(CXHAdapterNativeExpressAdapter *)adapter
                 nativeExpressAdView:(__kindof UIView <CXHAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;


@end
